/************************************************************************
 * <br>
 * <ul>
 * <li>版权所有：唐山弘川科技有限公司 2009－2020</li>
 * <li>创建日期：2009-8-10</li>
 * <li>初始作者：刘川</li>
 * </ul>
 * <ul>
 * <b>修订历史</b>
 * <li>1、</li>
 * </ul>
 ***********************************************************************/
package com.hy.enterprise.framework.lang.proxy ;

import net.sf.cglib.proxy.MethodInterceptor;

/**
 * <ul>
 * <li>设计作者：刘川</li>
 * <li>设计日期：2009-8-10</li>
 * <li>设计时间：下午02:10:12</li>
 * <li>设计目的：表现代理工厂的接口</li>
 * </ul>
 * <ul>
 * <b>修订历史</b>
 * <li>1、</li>
 * </ul>
 */
public interface IProxyFactory
{
	/**
	 * <ul>
	 * <li>设计作者：刘川</li>
	 * <li>设计日期：2009-8-10</li>
	 * <li>设计时间：下午02:11:15</li>
	 * <li>设计目的：创建代理</li>
	 * </ul>
	 * <ul>
	 * <b>修订历史</b>
	 * <li>1、</li>
	 * </ul>
	 * 
	 * @param <T>
	 * @param classLoader
	 * @param methodInterceptor
	 * @param mainType
	 * @param otherTypes
	 * @return
	 */
	public < T > T createProxy (
	                             ClassLoader classLoader ,
	                             MethodInterceptor methodInterceptor ,
	                             Class < T > mainType ,
	                             Class < ? > ... otherTypes ) ;
}
